package clases;

import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.Date;

import javax.swing.JOptionPane;

public class datosfamiliares_class extends Conexion{

	private String codigo;
	private String ficha;
	private String nombre;
	private Date fechanacimiento;
	private String domicilio;
	private String ocupacion;
	private String parentezco;
	
	private utilidades_class utilidades;
	private String query;
	private ArrayList<String> parametros;
	
	public datosfamiliares_class(){this.utilidades=new utilidades_class();}
	
	public datosfamiliares_class(String codigo)
	{
		this.utilidades = new utilidades_class();
		this.codigo=codigo;
	}
		
	
	public datosfamiliares_class(String codigo, String ficha, String nombre, Date fechanacimiento, String domicilio, String ocupacion, String parentezco)
	{
		this.codigo=codigo;
		this.ficha=ficha;
		this.nombre=nombre;
		this.fechanacimiento=fechanacimiento;
		this.domicilio=domicilio;
		this.ocupacion=ocupacion;
		this.parentezco=parentezco;
		this.utilidades=new utilidades_class();
	}
	
	public void nuevo()
	{
		try
		{
			ResultSet resultado = mostrar("SELECT codigofamiliar FROM datosfamiliares ORDER BY codigofamiliar DESC");
			if(resultado.next())
			{
				this.codigo = "DF"+String.valueOf(Integer.parseInt(resultado.getString("codigofamiliar").substring(2))+1);
			}
			else
			{
				this.codigo = "DF10000000";
			}
			resultado.close();
			query = "INSERT INTO datosfamiliares VALUES (?,?,?,?,?,?,?)";
			parametros = new ArrayList<String>();
			parametros.add(codigo);
			parametros.add(ficha);
			parametros.add(nombre);
			parametros.add(utilidades.insertarfecha(fechanacimiento));
			parametros.add(domicilio);
			parametros.add(ocupacion);
			parametros.add(parentezco);
			sentenciaConnection(query, parametros);
		}catch(Exception ex)
		{
			JOptionPane.showMessageDialog(null, ex.toString());
		}
	}
	
	public void modificar()
	{
		query = "UPDATE datosfamiliares SET nombre=?, fechanacimiento=?, domicilio=?, ocupacion=?, parentezco=? WHERE codigofamiliar=? AND codigoficha=?";
		parametros = new ArrayList<String>();
		parametros.add(nombre);
		parametros.add(utilidades.insertarfecha(fechanacimiento));
		parametros.add(domicilio);
		parametros.add(ocupacion);
		parametros.add(parentezco);
		parametros.add(codigo);
		parametros.add(ficha);
		sentenciaConnection(query, parametros);
	}
	
	public void eliminar()
	{
		query = "DELETE FROM datosfamiliares WHERE codigofamiliar=? AND codigoficha=?";
		parametros = new ArrayList<String>();
		parametros.add(codigo);
		parametros.add(ficha);
		sentenciaConnection(query, parametros);
	}
	
	public ResultSet mostrar()
	{
		query = "SELECT * FROM datosfamiliares";
		return consultaConnection(query);
	}
	
	public ResultSet mostrar(String queryref)
	{
		return consultaConnection(queryref);
	}
	
	public ResultSet mostrar(String queryref, ArrayList<String> parametrosref)
	{
		return consultaConnection(queryref, parametrosref);
	}
	
	
	
}
